#pragma once
#include <vector>
#include <queue>

namespace Graph {
class MatrixGraph {
	private:
		std::vector<std::vector<int>> array;
		int 	m_vertex;
		std::vector<std::pair<int,int>> mst;

	public:
		MatrixGraph();
		MatrixGraph(int size);
		MatrixGraph (std::vector<std::vector<int>> temp);
		~MatrixGraph();

		int& at(int i, int j);
		bool bfs(int s);
		bool dfs(int s);
		int mstPrim(int r);
		bool empty();
		int size();
		std::vector<std::pair<int,int>> *getMst();
};
}